home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
fish
/
726-750
/
742
/
rkrm_lib3
/
rkrm_lib3.lha
/
Keymap
/
d.asm
< prev
next >
Wrap
Assembly Source File
|
1992-09-03
|
25KB
|
659 lines
*
* Copyright (c) 1992 Commodore-Amiga, Inc.
*
* This example is provided in electronic form by Commodore-Amiga, Inc. for
* use with the "Amiga ROM Kernel Reference Manual: Devices", 3rd Edition,
* published by Addison-Wesley (ISBN 0-201-56775-X).
*
* The "Amiga ROM Kernel Reference Manual: Devices" contains additional
* information on the correct usage of the techniques and operating system
* functions presented in these examples. The source and executable code
* of these examples may only be distributed in free electronic form, via
* bulletin board or as part of a fully non-commercial and freely
* redistributable diskette. Both the source and executable code (including
* comments) must be included, without modification, in any copy. This
* example may not be published in printed form or distributed with any
* commercial product. However, the programming techniques and support
* routines set forth in these examples may be used in the development
* of original executable software products for Commodore Amiga computers.
*
* All other rights reserved.
*
* This example is provided "as-is" and is subject to change; no
* warranties are made. All use is at your own risk. No liability or
* responsibility is assumed.
*
**********************************************************************
*
* d.asm - d (GERMAN) A2000 key map
*
**********************************************************************
** Assemble and then link without startup code or linker libs
*------ Included Files -----------------------------------------------
INCLUDE "exec/types.i"
INCLUDE "devices/keymap.i"
*---------------------------------------------------------------------
DC.L 0,0 ; ln_Succ, ln_Pred
DC.B 0,0 ; ln_Type, ln_Pri
DC.L KMName ; ln_Name
DC.L KMLowMapType
DC.L KMLowMap
DC.L KMLCapsable
DC.L KMLRepeatable
DC.L KMHighMapType
DC.L KMHighMap
DC.L KMHCapsable
DC.L KMHRepeatable
*------ Key Translation Table ----------------------------------------
* Raw key codes
*
* 45 50 51 52 53 54 55 56 57 58 59
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 41 46 5F 5A 5B 5C 5D
* 42 10 11 12 13 14 15 16 17 18 19 1A 1B 44 3D 3E 3F 4A
* 63 62 20 21 22 23 24 25 26 27 28 29 2A 2B 4C 2D 2E 2F 5E
* 60 30 31 32 33 34 35 36 37 38 39 3A 61 4F 4D 4E 1D 1E 1F 43
* 64 66 40 67 65 0F 3C
*
*---------------------------------------------------------------------
* German (D) mapping
*
* ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10
* `~ 1! 2" 3S 4$ 5% 6& 7/ 8( 9) 0= B? '` \| BS DEL HELP [{ ]} / *
* TAB qQ wW eE rR tT zZ uU iI oO pP uU +* RET 7 8 9 -
* CT CL aA sS dD fF gG hH jJ kK lL oO aA #^ UC 4 5 6 +
* SH <> yY xX cC vV bB nN mM ,; .: -_ SH LC DC RC 1 2 3 ENT
* ALT AM SPACE AM ALT 0 .
*
*---------------------------------------------------------------------
* For comparison, here's the USA1 mapping
*
* ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10
* `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ \| BS DEL HELP (( )) // **
* TAB qQ wW eE rR tT yY uU iI oO pP [{ ]} RET 77 88 99 --
* CT CL aA sS dD fF gG hH jJ kK lL ;: '" [2B] UC 44 55 66 ++
* SH [30] zZ xX cC vV bB nN mM ,< .> /? SH LC DC RC 11 22 33 ENT
* ALT AM SPACE AM ALT 00 ..
*
*--------------------------------------------------------------------------
*
* 40 Space
* 41 Backspace
* 42 Tab
* 43 Enter
* 44 Return
* 45 Escape
* 46 Delete
* 4A Numeric Pad -
* 4C Cursor Up
* 4D Cursor Down
* 4E Cursor Forward
* 4F Cursor Backward
*
* 50-59 Function keys F1-F10
* 5A Numeric Pad [{ (A2000)
* 5B Numeric Pad ]} (A2000)
* 5C Numeric Pad / (A2000)
* 5D Numeric Pad * (A2000)
* 5E Numeric Pad + (A2000)
* 5F Help
*
* 60 Left Shift
* 61 Right Shift
* 62 Caps Lock
* 63 Control
* 64 Left Alt
* 65 Right Alt
* 66 Left Amiga
* 67 Right Amiga
*
* 68 Left Mouse Button (not converted)
* 69 Right Mouse Button (not converted)
* 6A Middle Mouse Button (not converted)
*
*---------------------------------------------------------------------
KMLCapsable: ; NL means NULL (undefined) and RE means RESERVED
DC.B %00000000 ; 7\ 6& 5% 4$ 3s 2" 1! [] 07 - 00
DC.B %00000000 ; 0N NL \| '` B? 0= 9) 8( 0F - 08
DC.B %11111111 ; iI uU zZ tT rR eE wW qQ 17 - 10
DC.B %00000111 ; 3N 2N 1N NL +* UU pP oO 1F - 18
DC.B %11111111 ; kK jJ hH gG fF dD sS aA 27 - 20
DC.B %00000111 ; 6N 5N 4N NL #' AA OO lL 2F - 28
DC.B %11111110 ; mM nN bB vV cC xX yY <> 37 - 30
DC.B %00000000 ; 9N 8N 7N .N NL -_ .: ,; 3F - 38
KMHCapsable:
DC.B %00000000 ; 47 - 40
DC.B %00000000 ; 4F - 48
DC.B %00000000 ; 57 - 50
DC.B %00000000 ; 5F - 58
DC.B %00000000 ; 67 - 60
DC.B %00000000 ; 6F - 68
DC.B %00000000 ; 77 - 70
KMLRepeatable:
DC.B %11111111 ; 7\ 6& 5% 4$ 3s 2" 1! [] 07 - 00
DC.B %10111111 ; 0N NL \| '` B? 0= 9) 8( 0F - 08
DC.B %11111111 ; iI uU zZ tT rR eE wW qQ 17 - 10
DC.B %11101111 ; 3N 2N 1N NL +* UU pP oO 1F - 18
DC.B %11111111 ; kK jJ hH gG fF dD sS aA 27 - 20
DC.B %11101111 ; 6N 5N 4N NL #' AA OO lL 2F - 28
DC.B %11111111 ; mM nN bB vV cC xX yY <> 37 - 30
DC.B %11110111 ; 9N 8N 7N .N NL -_ .: ,; 3F - 38
KMHRepeatable:
DC.B %01000111 ; 47 - 40
DC.B %11110100 ; 4F - 48
DC.B %11111111 ; 57 - 50
DC.B %01111111 ; 5F - 58
DC.B %00000000 ; 67 - 60
DC.B %00000000 ; 6F - 68
DC.B %00000000 ; 77 - 70
KMLowMapType:
DC.B KC_VANILLA ; [] $00
DC.B KCF_SHIFT+KCF_ALT ; 1!
DC.B KCF_SHIFT+KCF_ALT ; 2"
DC.B KCF_SHIFT+KCF_ALT ; 3s
DC.B KCF_SHIFT+KCF_ALT ; 4$
DC.B KCF_SHIFT+KCF_ALT ; 5%
DC.B KC_VANILLA ; 6&
DC.B KCF_SHIFT+KCF_ALT ; 7/
DC.B KCF_SHIFT+KCF_ALT ; 8( $08
DC.B KCF_SHIFT+KCF_ALT ; 9)
DC.B KCF_SHIFT+KCF_ALT ; 0=
DC.B KC_VANILLA ; B?
DC.B KCF_DEAD+KCF_SHIFT+KCF_ALT ; '`
DC.B KC_VANILLA ; \|
DC.B KCF_NOP ;NL
DC.B KC_NOQUAL ; 0N
DC.B KC_VANILLA ; qQ $10
DC.B KC_VANILLA ; wW
DC.B KCF_DEAD+KC_VANILLA ; eE
DC.B KC_VANILLA ; rR
DC.B KC_VANILLA ; tT
DC.B KC_VANILLA ; zZ
DC.B KCF_DEAD+KC_VANILLA ; uU
DC.B KCF_DEAD+KC_VANILLA ; iI
DC.B KCF_DEAD+KC_VANILLA ; oO $18
DC.B KC_VANILLA ; pP
DC.B KC_VANILLA ; omlatuU
DC.B KC_VANILLA ; +*
DC.B KCF_NOP ; NL
DC.B KC_NOQUAL ; 1N
DC.B KC_NOQUAL ; 2N
DC.B KC_NOQUAL ; 3N
DC.B KCF_DEAD+KC_VANILLA ; aA $20
DC.B KC_VANILLA ; sS
DC.B KC_VANILLA ; dD
DC.B KCF_DEAD+KC_VANILLA ; fF
DC.B KCF_DEAD+KC_VANILLA ; gG
DC.B KCF_DEAD+KC_VANILLA ; hH
DC.B KCF_DEAD+KC_VANILLA ; jJ
DC.B KCF_DEAD+KC_VANILLA ; kK
DC.B KC_VANILLA ; lL $28
DC.B KCF_SHIFT+KCF_ALT ; umlotoO
DC.B KCF_SHIFT+KCF_ALT ; umlotaA
DC.B KC_VANILLA ; #^
DC.B KCF_NOP ; NL
DC.B KC_NOQUAL ; 4N
DC.B KC_NOQUAL ; 5N
DC.B KC_NOQUAL ; 6N
DC.B KCF_SHIFT ; <> $30
DC.B KCF_DEAD+KC_VANILLA ; yY
DC.B KC_VANILLA ; xX
DC.B KC_VANILLA ; cC
DC.B KC_VANILLA ; vV
DC.B KC_VANILLA ; bB
DC.B KCF_DEAD+KC_VANILLA ; nN
DC.B KC_VANILLA ; mM
DC.B KCF_SHIFT+KCF_ALT ; ,; $38
DC.B KCF_SHIFT+KCF_ALT ; .:
DC.B KC_VANILLA ; -_
DC.B KCF_NOP ; NL
DC.B KC_NOQUAL ; .N
DC.B KC_NOQUAL ; 7N
DC.B KC_NOQUAL ; 8N
DC.B KC_NOQUAL ; 9N
KMHighMapType:
DC.B KCF_DEAD+KCF_ALT ; SPACE $40
DC.B KC_NOQUAL ; BACKSPACE
DC.B KCF_STRING+KCF_SHIFT ; TAB
DC.B KC_NOQUAL ; ENTER
DC.B KCF_CONTROL ; RETURN
DC.B KCF_ALT ; ESCAPE
DC.B KC_NOQUAL ; DELETE
DC.B KCF_NOP
DC.B KCF_NOP ; $48
DC.B KCF_NOP
DC.B KC_NOQUAL ; Numeric Pad -
DC.B KCF_NOP
DC.B KCF_STRING+KCF_SHIFT ; CURSOR UP
DC.B KCF_STRING+KCF_SHIFT ; CURSOR DOWN
DC.B KCF_STRING+KCF_SHIFT ; CURSOR FORWARD
DC.B KCF_STRING+KCF_SHIFT ; CURSOR BACKWARD
DC.B KCF_STRING+KCF_SHIFT ; FKEY 1 $50
DC.B KCF_STRING+KCF_SHIFT ; FKEY 2
DC.B KCF_STRING+KCF_SHIFT ; FKEY 3
DC.B KCF_STRING+KCF_SHIFT ; FKEY 4
DC.B KCF_STRING+KCF_SHIFT ; FKEY 5
DC.B KCF_STRING+KCF_SHIFT ; FKEY 6
DC.B KCF_STRING+KCF_SHIFT ; FKEY 7
DC.B KCF_STRING+KCF_SHIFT ; FKEY 8
DC.B KCF_STRING+KCF_SHIFT ; FKEY 9 $58
DC.B KCF_STRING+KCF_SHIFT ; FKEY 10
DC.B KCF_SHIFT+KCF_CONTROL ; Numeric Pad [{
DC.B KCF_SHIFT+KCF_CONTROL ; Numeric Pad ]}
DC.B KC_NOQUAL ; Numeric Pad /
DC.B KC_NOQUAL ; Numeric Pad *
DC.B KC_NOQUAL ; Numeric Pad +
DC.B KCF_STRING ; Help
DC.B KCF_NOP ; Left Shift $60
DC.B KCF_NOP ; Right Shift
DC.B KCF_NOP ; Caps Lock
DC.B KCF_NOP ; Control
DC.B KCF_NOP ; Left Alt
DC.B KCF_NOP ; Right Alt
DC.B KCF_NOP ; Left Amiga
DC.B KCF_NOP ; Right Amiga
DC.B KCF_NOP ; Left Mouse Button $68
DC.B KCF_NOP ; Right Mouse Button
DC.B KCF_NOP ; Middle Mouse Button
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP ; $70
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
DC.B KCF_NOP
KMLowMap:
DC.B '~','`','~','`' ; `, ~, `, ~ $00
DC.B '!',$B9,'!','1' ; 1, !, super 1, !
DC.B $B2,'@','"','2' ; 2, ", @, super 2
DC.B '#',$B3,$A7,'3' ; 3, section, super 3, #
DC.B $A2,$B0,'$','4' ; 4, $, degree, cents
DC.B '%',$BC,'%','5' ; 5, %, 1/4, %
DC.B '^',$BD,'&','6' ; 6, &, 1/2, ^
DC.B '&',$BE,'/','7' ; 7, /, 3/4, &
DC.B '*',$B7,'(','8' ; 8, (, bullet, * $08
DC.B '(',$AB,')','9' ; 9, ), <<, (
DC.B ')',$BB,'=','0' ; 0, =, >>, )
DC.B '_','-','?',$DF ; sharp s, ?, -, _
DC.L key0C ; dead ', dead `, =, +
DC.B '|','\','|','\' ; \, |, \, |
DC.L 0 ; NOP
DC.B 0,0,0,'0' ; numeric pad 0 (0N)
DC.B $C5,$E5,'Q','q' ; q, Q, dot a, dot A $10
DC.B $B0,$B0,'W','w' ; w, W, dot, dot
DC.L key12 ; e, E, (c), (c)
DC.B $AE,$AE,'R','r' ; r, R, (r), (r)
DC.B $DE,$FE,'T','t' ; t, T, thorn, THORN
DC.B $A5,$A4,'Z','z' ; z, Z, IMS, Yen
DC.L key16 ; u, U, micro, micro
DC.L key17 ; i, I, inverted !, broken |
DC.L key18 ; o, O, slash o, slash O $18
DC.B $B6,$B6,'P','p' ; p, P, paragraph, paragraph
DC.B '{','[',$DC,$FC ; umlaut u, umlaut U, [, {
DC.B '}',']','*','+' ; +, *, ], }
DC.L 0 ; NOP
DC.B 0,0,0,'1' ; numeric pad 1 (1N)
DC.B 0,0,0,'2' ; numeric pad 2 (2N)
DC.B 0,0,0,'3' ; numeric pad 3 (3N)
DC.L key20 ; a, A, ae, AE $20
DC.B $A7,$DF,'S','s' ; s, S, sharp s, section
DC.B $D0,$F0,'D','d' ; d, D, bar d, bar D
DC.L key23 ; f, F, dead '
DC.L key24 ; g, G, dead `
DC.L key25 ; h, H, dead ^
DC.L key26 ; j, J, dead ~
DC.L key27 ; k, K, dead "
DC.B $A3,$A3,'L','l' ; l, L, pound, pound $28
DC.B ':',';',$D6,$F6 ; umlaut o, umlaut O, ;, :
DC.B '"',$27,$C4,$E4 ; umlaut a, umlaut A, ', "
DC.B '^','#','^','#' ; #, ^, #, ^
DC.L 0 ; NOP
DC.B 0,0,0,'4' ; numeric pad 4 (4N)
DC.B 0,0,0,'5' ; numeric pad 5 (5N)
DC.B 0,0,0,'6' ; numeric pad 6 (6N)
DC.B 0,0,'>','<' ; <, > $30
DC.L key31 ; y, Y, +/-, not
DC.B $F7,$D7,'X','x' ; x, X, times, divide
DC.B $C7,$E7,'C','c' ; c, C, c cedilla, C cedilla
DC.B $AA,$AA,'V','v' ; v, V, female ordinal
DC.B $BA,$BA,'B','b' ; b, B, male ordinal
DC.L key36 ; n, N, SHY, overbar
DC.B $BF,$B8,'M','m' ; m, M, cedilla, inverted ?
DC.B '<',',',';',',' ; ,, ;, ,, < $38
DC.B '>','.',':','.' ; ., :, ., >
DC.B '?','/','_','-' ; -, _, /, ?
DC.L 0 ; NOP
DC.B 0,0,0,'.' ; numeric pad . (.N)
DC.B 0,0,0,'7' ; numeric pad 7 (7N)
DC.B 0,0,0,'8' ; numeric pad 8 (8N)
DC.B 0,0,0,'9' ; numeric pad 9 (9N)
KMHighMap:
DC.L key40 $40
DC.B 0,0,0,$08
DC.L key42
DC.B 0,0,0,$0D
DC.B 0,0,$0A,$0D
DC.B 0,0,$9B,$1B
DC.B 0,0,0,$7F
DC.L 0
DC.L 0 $48
DC.L 0
DC.B 0,0,0,'-'
DC.L 0
DC.L key4C
DC.L key4D
DC.L key4E
DC.L key4F
DC.L key50 $50
DC.L key51
DC.L key52
DC.L key53
DC.L key54
DC.L key55
DC.L key56
DC.L key57
DC.L key58 $58
DC.L key59
DC.B $1B,$1B,'{','[' ; numeric pad [, {
DC.B $1D,$1D,'}',']' ; numeric pad ], }
DC.B 0,0,0,'/' ; numeric pad /
DC.B 0,0,0,'*' ; numeric pad *
DC.B 0,0,0,'+' ; numeric pad +
DC.L key5F
DC.L 0 $60
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0 $68
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0 $70
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
DC.L 0
;------ possible dead keys
key0C:
DC.B DPF_DEAD,1+(6<<DP_2DFACSHIFT) ; dead '
DC.B DPF_DEAD,2+(6<<DP_2DFACSHIFT) ; dead `
DC.B 0,'=',0,'+' ; =, +
key23:
DC.B 0,'f',0,'F' ; f, F
DC.B DPF_DEAD,1+(6<<DP_2DFACSHIFT) ; dead '
DC.B DPF_DEAD,1+(6<<DP_2DFACSHIFT) ; dead '
DC.B 0,$06,0,$06,0,$86,0,$86 ; control translation
key24:
DC.B 0,'g',0,'G' ; g, G
DC.B DPF_DEAD,2+(6<<DP_2DFACSHIFT) ; dead `
DC.B DPF_DEAD,2+(6<<DP_2DFACSHIFT) ; dead `
DC.B 0,$07,0,$07,0,$87,0,$87 ; control translation
key25:
DC.B 0,'h',0,'H' ; h, H
DC.B DPF_DEAD,3,DPF_DEAD,3 ; dead ^, dead ^
DC.B 0,$08,0,$08,0,$88,0,$88 ; control translation
key26:
DC.B 0,'j',0,'J' ; j, J
DC.B DPF_DEAD,4,DPF_DEAD,4 ; dead ~, dead ~
DC.B 0,$0A,0,$0A,0,$8A,0,$8A ; control translation
key27:
DC.B 0,'k',0,'K' ; k, K
DC.B DPF_DEAD,5,DPF_DEAD,5 ; dead ", dead "
DC.B 0,$0B,0,$0B,0,$8B,0,$8B ; control translation
;------ deadable keys (modified by dead keys)
key12: ; e, E, (c), (c)
DC.B DPF_MOD,key12u-key12,DPF_MOD,key12s-key12
DC.B 0,$A9,0,$A9
DC.B 0,$05,0,$05,0,$85,0,$85 ; control translation
key12u:
DC.B 'e',$E9,$E8,$EA,'e',$EB
DC.B $E9,$E9,$EA,$E9,$E9,$E9
DC.B $E8,$EA,$E8,$E8,$E8,$E8
key12s:
DC.B 'E',$C9,$C8,$CA,'E',$CB
DC.B $C9,$C9,$CA,$C9,$C9,$C9
DC.B $C8,$CA,$C8,$C8,$C8,$C8
key16: ; u, U, micro, micro
DC.B DPF_MOD,key16u-key16,DPF_MOD,key16s-key16
DC.B 0,$B5,0,$B5
DC.B 0,$15,0,$15,0,$95,0,$95 ; control translation
key16u:
DC.B 'u',$FA,$F9,$FB,'u',$FC
DC.B $FA,$FA,$FB,$FA,$FA,$FA
DC.B $F9,$FB,$F9,$F9,$F9,$F9
key16s:
DC.B 'U',$DA,$D9,$DB,'U',$DC
DC.B $DA,$DA,$DB,$DA,$DA,$DA
DC.B $D9,$DB,$D9,$D9,$D9,$D9
key17: ; i, I, inverted !, broken |
DC.B DPF_MOD,key17u-key17,DPF_MOD,key17s-key17
DC.B 0,$A1,0,$A6
DC.B 0,$09,0,$09,0,$89,0,$89 ; control translation
key17u:
DC.B 'i',$ED,$EC,$EE,'i',$EF
DC.B $ED,$ED,$EE,$ED,$ED,$ED
DC.B $EC,$EE,$EC,$EC,$EC,$EC
key17s:
DC.B 'I',$CD,$CC,$CE,'I',$CF
DC.B $CD,$CD,$CE,$CD,$CD,$CD
DC.B $CC,$CE,$CC,$CC,$CC,$CC
key18: ; o, O, bar o, bar O
DC.B DPF_MOD,key18u-key18,DPF_MOD,key18s-key18
DC.B 0,$F8,0,$D8
DC.B 0,$0F,0,$0F,0,$8F,0,$8F ; control translation
key18u:
DC.B 'o',$F3,$F2,$F4,$F5,$F6
DC.B $F3,$F3,$F4,$F3,$F3,$F3
DC.B $F2,$F4,$F2,$F2,$F2,$F2
key18s:
DC.B 'O',$D3,$D2,$D4,$D5,$D6
DC.B $D3,$D3,$D4,$D3,$D3,$D3
DC.B $D2,$D4,$D2,$D2,$D2,$D2
key20: ; a, A, ae, AE
DC.B DPF_MOD,key20u-key20,DPF_MOD,key20s-key20
DC.B 0,$E6,0,$C6
DC.B 0,$01,0,$01,0,$81,0,$81 ; control translation
key20u:
DC.B 'a',$E1,$E0,$E2,$E3,$E4
DC.B $E1,$E1,$E2,$E1,$E1,$E1 ; most recent is '
DC.B $E0,$E2,$E0,$E0,$E0,$E0 ; most recent is `
key20s:
DC.B 'A',$C1,$C0,$C2,$C3,$C4
DC.B $C1,$C1,$C2,$C1,$C1,$C1 ; most recent is '
DC.B $C0,$C2,$C0,$C0,$C0,$C0 ; most recent is `
key36: ; n, N, SHY, overbar
DC.B DPF_MOD,key36u-key36,DPF_MOD,key36s-key36
DC.B 0,$AD,0,$AF
DC.B 0,$0E,0,$0E,0,$8E,0,$8E ; control translation
key36u:
DC.B 'n','n','n','n',$F1,'n'
DC.B 'n','n','n','n','n','n'
DC.B 'n','n','n','n','n','n'
key36s:
DC.B 'N','N','N','N',$D1,'N'
DC.B 'N','N','N','N','N','N'
DC.B 'N','N','N','N','N','N'
key31: ; y, Y, +/-, not
DC.B DPF_MOD,key31u-key31,DPF_MOD,key31s-key31
DC.B 0,$B1,0,$AC
DC.B 0,$19,0,$19,0,$99,0,$99 ; control translation
key31u:
DC.B 'y',$FD,'y','y','y',$FF
DC.B $FD,$FD,$FD,$FD,$FD,$FD
DC.B 'y','y','y','y','y','y'
key31s:
DC.B 'Y',$DD,'Y','Y','Y','Y'
DC.B $DD,$DD,$DD,$DD,$DD,$DD
DC.B 'Y','Y','Y','Y','Y','Y'
key40: ; space,,NBSP, and accents
DC.B DPF_MOD,key40d-key40,0,$A0
key40d:
DC.B ' ',$B4,'`','^','~',$A8
DC.B $B4,'^',$B4,$B4,$B4,$B4
DC.B '`','`','^','`','`','`'
;------ string keys
key42:
DC.B key42ue-key42us,key42us-key42
DC.B key42se-key42ss,key42ss-key42
key42us:
DC.B $09
key42ue:
key42ss:
DC.B $9B,'Z'
key42se:
key4C:
DC.B key4Cue-key4Cus,key4Cus-key4C
DC.B key4Cse-key4Css,key4Css-key4C
key4Cus:
DC.B $9B,'A'
key4Cue:
key4Css:
DC.B $9B,'T'
key4Cse:
key4D:
DC.B key4Due-key4Dus,key4Dus-key4D
DC.B key4Dse-key4Dss,key4Dss-key4D
key4Dus:
DC.B $9B,'B'
key4Due:
key4Dss:
DC.B $9B,'S'
key4Dse:
key4E:
DC.B key4Eue-key4Eus,key4Eus-key4E
DC.B key4Ese-key4Ess,key4Ess-key4E
key4Eus:
DC.B $9B,'C'
key4Eue:
key4Ess:
DC.B $9B,' ','@'
key4Ese:
key4F:
DC.B key4Fue-key4Fus,key4Fus-key4F
DC.B key4Fse-key4Fss,key4Fss-key4F
key4Fus:
DC.B $9B,'D'
key4Fue:
key4Fss:
DC.B $9B,' ','A'
key4Fse:
key50:
DC.B key50ue-key50us,key50us-key50
DC.B key50se-key50ss,key50ss-key50
key50us:
DC.B $9B,'0~'
key50ue:
key50ss:
DC.B $9B,'10~'
key50se:
key51:
DC.B key51ue-key51us,key51us-key51
DC.B key51se-key51ss,key51ss-key51
key51us:
DC.B $9B,'1~'
key51ue:
key51ss:
DC.B $9B,'11~'
key51se:
key52:
DC.B key52ue-key52us,key52us-key52
DC.B key52se-key52ss,key52ss-key52
key52us:
DC.B $9B,'2~'
key52ue:
key52ss:
DC.B $9B,'12~'
key52se:
key53:
DC.B key53ue-key53us,key53us-key53
DC.B key53se-key53ss,key53ss-key53
key53us:
DC.B $9B,'3~'
key53ue:
key53ss:
DC.B $9B,'13~'
key53se:
key54:
DC.B key54ue-key54us,key54us-key54
DC.B key54se-key54ss,key54ss-key54
key54us:
DC.B $9B,'4~'
key54ue:
key54ss:
DC.B $9B,'14~'
key54se:
key55:
DC.B key55ue-key55us,key55us-key55
DC.B key55se-key55ss,key55ss-key55
key55us:
DC.B $9B,'5~'
key55ue:
key55ss:
DC.B $9B,'15~'
key55se:
key56:
DC.B key56ue-key56us,key56us-key56
DC.B key56se-key56ss,key56ss-key56
key56us:
DC.B $9B,'6~'
key56ue:
key56ss:
DC.B $9B,'16~'
key56se:
key57:
DC.B key57ue-key57us,key57us-key57
DC.B key57se-key57ss,key57ss-key57
key57us:
DC.B $9B,'7~'
key57ue:
key57ss:
DC.B $9B,'17~'
key57se:
key58:
DC.B key58ue-key58us,key58us-key58
DC.B key58se-key58ss,key58ss-key58
key58us:
DC.B $9B,'8~'
key58ue:
key58ss:
DC.B $9B,'18~'
key58se:
key59:
DC.B key59ue-key59us,key59us-key59
DC.B key59se-key59ss,key59ss-key59
key59us:
DC.B $9B,'9~'
key59ue:
key59ss:
DC.B $9B,'19~'
key59se:
key5F:
DC.B key5Fe-key5Fs,key5Fs-key5F
key5Fs:
DC.B $9B,'?~'
key5Fe:
KMName:
DC.B 'd',0
kmEnd
END